home *** CD-ROM | disk | FTP | other *** search
/ Delphi 2.0 - Programmer's Utilities Power Pack / Delphi 2.0 Programmer's Utilities Power Pack.iso / a_to_d / dbplus2 / mainform.pas < prev    next >
Pascal/Delphi Source File  |  1996-09-15  |  12KB  |  388 lines

  1. unit Mainform;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Menus,
  6.   SysUtils,
  7.   Dialogs, StdCtrls, Buttons, ExtCtrls, Mask, Dblup2, DB, DBTables, DBCtrls;
  8.  
  9. type
  10.   TAppMainForm = class(TForm)
  11.     MainMenu: TMainMenu;
  12.     FileMenu: TMenuItem;
  13.     ExitItem: TMenuItem;
  14.     N1: TMenuItem;
  15.     Help1: TMenuItem;
  16.     About1: TMenuItem;
  17.     StatusBar: TPanel;
  18.     SpeedPanel: TPanel;
  19.     ExitBtn: TSpeedButton;
  20.     Table1: TTable;
  21.     DataSource1: TDataSource;
  22.     Table2: TTable;
  23.     DataSource2: TDataSource;
  24.     Panel3: TPanel;
  25.     Shape1: TShape;
  26.     Label1: TLabel;
  27.     Label2: TLabel;
  28.     Shape2: TShape;
  29.     Shape3: TShape;
  30.     Shape4: TShape;
  31.     DBLookupComboPlus1: TDBLookupComboPlus;
  32.     MaskEditDate: TMaskEdit;
  33.     MaskEditDollars: TMaskEdit;
  34.     EditWordDollars: TEdit;
  35.     RadioGroupStyle: TRadioGroup;
  36.     RadioGroupSpeedButton: TRadioGroup;
  37.     RadioGroupBorderStyle: TRadioGroup;
  38.     RadioGroupAutoDropDown: TRadioGroup;
  39.     RadioGroupDropDownAlign: TRadioGroup;
  40.     RadioGroupDropDownTop: TRadioGroup;
  41.     Bevel1: TBevel;
  42.     Label3: TLabel;
  43.     RadioGroupPreSets: TRadioGroup;
  44.     Label4: TLabel;
  45.     Button1: TButton;
  46.     Button2: TButton;
  47.     ColorDialog1: TColorDialog;
  48.     Button3: TButton;
  49.     Label5: TLabel;
  50.     procedure ShowHint(Sender: TObject);
  51.     procedure ExitItemClick(Sender: TObject);
  52.     procedure About1Click(Sender: TObject);
  53.     procedure FormCreate(Sender: TObject);
  54.     procedure RadioGroupStyleClick(Sender: TObject);
  55.     procedure RadioGroupDropDownAlignClick(Sender: TObject);
  56.     procedure RadioGroupDropDownTopClick(Sender: TObject);
  57.     procedure RadioGroupBorderStyleClick(Sender: TObject);
  58.     procedure RadioGroupAutoDropDownClick(Sender: TObject);
  59.     procedure RadioGroupSpeedButtonClick(Sender: TObject);
  60.     procedure Button1Click(Sender: TObject);
  61.     procedure Button2Click(Sender: TObject);
  62.     procedure Button3Click(Sender: TObject);
  63.     procedure RadioGroupPreSetsClick(Sender: TObject);
  64.     procedure MaskEditDollarsExit(Sender: TObject);
  65.     procedure FormShow(Sender: TObject);
  66.   private
  67.     { Private declarations }
  68.     Procedure SetCheckColor(aColor : TColor);
  69.     Procedure SetBorderColor(aColor : TColor);
  70.     Procedure SetFieldColor(aColor : TColor);
  71.     Function RealToCheckString(Amount : Real) : String;
  72.   public
  73.     { Public declarations }
  74.   end;
  75.  
  76. var
  77.   AppMainForm: TAppMainForm;
  78.  
  79. implementation
  80.  
  81. uses About;
  82.  
  83. {$R *.DFM}
  84.  
  85. procedure TAppMainForm.ShowHint(Sender: TObject);
  86. begin
  87.   StatusBar.Caption := Application.Hint;
  88. end;
  89.  
  90. procedure TAppMainForm.ExitItemClick(Sender: TObject);
  91. begin
  92.   Close;
  93. end;
  94.  
  95. procedure TAppMainForm.About1Click(Sender: TObject);
  96. begin
  97.   AboutBox.ShowModal;
  98. end;
  99.  
  100. procedure TAppMainForm.FormCreate(Sender: TObject);
  101. begin
  102.   Application.OnHint := ShowHint;
  103.   MaskEditDate.edittext := DateTimeToStr(Date);
  104.   EditWordDollars.Text :=
  105.     RealToCheckString(StrToFloat(MaskEditDollars.text));
  106. end;
  107.  
  108. procedure TAppMainForm.RadioGroupStyleClick(Sender: TObject);
  109. begin
  110.   case  RadioGroupStyle.ItemIndex of
  111.     0 : DBLookupComboPlus1.Style := csDropDown;
  112.     1 : DBLookupComboPlus1.Style := csDropDownList;
  113.     2 : DBLookupComboPlus1.Style := csIncSearch;
  114.     3 : DBLookupComboPlus1.Style := csIncSrchEdit;
  115.   end; {Case}
  116.   DBLookupComboPlus1.SetFocus;
  117. end;
  118.  
  119. procedure TAppMainForm.RadioGroupDropDownAlignClick(Sender: TObject);
  120. begin
  121.   case  RadioGroupDropDownAlign.ItemIndex of
  122.     0 : DBLookupComboPlus1.DropDownAlign := Dblup2.Left;
  123.     1 : DBLookupComboPlus1.DropDownAlign := Dblup2.Right;
  124.   end; {Case}
  125.   DBLookupComboPlus1.SetFocus;
  126. end;
  127.  
  128. procedure TAppMainForm.RadioGroupDropDownTopClick(Sender: TObject);
  129. begin
  130.   case  RadioGroupDropDownTop.ItemIndex of
  131.     0 : DBLookupComboPlus1.DropDownTop := Dblup2.Above;
  132.     1 : DBLookupComboPlus1.DropDownTop := Dblup2.Below;
  133.   end; {Case}
  134.   DBLookupComboPlus1.SetFocus;
  135. end;
  136.  
  137. procedure TAppMainForm.RadioGroupBorderStyleClick(Sender: TObject);
  138. begin
  139.   case  RadioGroupBorderStyle.ItemIndex of
  140.     0 : begin
  141.           DBLookupComboPlus1.BorderStyle := bsNone;
  142.           MaskEditDate.BorderStyle := bsNone;
  143.           MaskEditDollars.BorderStyle := bsNone;
  144.           EditWordDollars.BorderStyle := bsNone;
  145.           DBLookupComboPlus1.Ctl3D := False;
  146.           MaskEditDate.Ctl3D := False;
  147.           MaskEditDollars.Ctl3D := False;
  148.           EditWordDollars.Ctl3D := False;
  149.           DBLookupComboPlus1.Height := 16;
  150.           MaskEditDate.Height := 16;
  151.           MaskEditDollars.Height := 16;
  152.           EditWordDollars.Height := 16;
  153.           Shape2.Visible := True;
  154.           Shape3.Visible := True;
  155.           Shape4.Visible := True;
  156.         end;
  157.     1 : Begin
  158.           DBLookupComboPlus1.BorderStyle := bsSingle;
  159.           MaskEditDate.BorderStyle := bsSingle;
  160.           MaskEditDollars.BorderStyle := bsSingle;
  161.           EditWordDollars.BorderStyle := bsSingle;
  162.           DBLookupComboPlus1.Ctl3D := True;
  163.           MaskEditDate.Ctl3D := True;
  164.           MaskEditDollars.Ctl3D := True;
  165.           EditWordDollars.Ctl3D := True;
  166.           DBLookupComboPlus1.Height := 24;
  167.           MaskEditDate.Height := 24;
  168.           MaskEditDollars.Height := 24;
  169.           EditWordDollars.Height := 24;
  170.           Shape2.Visible := False;
  171.           Shape3.Visible := False;
  172.           Shape4.Visible := False;
  173.         end;
  174.   end; {Case}
  175.   DBLookupComboPlus1.SetFocus;
  176. end;
  177.  
  178. procedure TAppMainForm.RadioGroupAutoDropDownClick(Sender: TObject);
  179. begin
  180.   case  RadioGroupAutoDropDown.ItemIndex of
  181.     0 : DBLookupComboPlus1.AutoDropDown := True;
  182.     1 : DBLookupComboPlus1.AutoDropDown := False;
  183.   end; {Case}
  184.   DBLookupComboPlus1.SetFocus;
  185. end;
  186.  
  187. procedure TAppMainForm.RadioGroupSpeedButtonClick(Sender: TObject);
  188. begin
  189.   case  RadioGroupSpeedButton.ItemIndex of
  190.     0 : DBLookupComboPlus1.ShowSpeedButton := True;
  191.     1 : DBLookupComboPlus1.ShowSpeedButton := False;
  192.   end; {Case}
  193.   DBLookupComboPlus1.SetFocus;
  194. end;
  195.  
  196. Procedure TAppMainForm.SetCheckColor(aColor : TColor);
  197. begin
  198.   Panel3.Color := aColor;
  199. end;
  200.  
  201. Procedure TAppMainForm.SetBorderColor(aColor : TColor);
  202. begin
  203.   Shape1.Pen.Color := aColor;
  204. end;
  205.  
  206. Procedure TAppMainForm.SetFieldColor(aColor : TColor);
  207. begin
  208.   DBLookupComboPlus1.Color := aColor;
  209.   MaskEditDate.Color := aColor;
  210.   MaskEditDollars.Color := aColor;
  211.   EditWordDollars.Color := aColor;
  212. end;
  213.  
  214. procedure TAppMainForm.Button1Click(Sender: TObject);
  215. begin
  216.     {initialise to current color}
  217.   ColorDialog1.Color := Panel3.Color;
  218.   If ColorDialog1.Execute then
  219.     SetCheckColor(ColorDialog1.Color);
  220.   DBLookupComboPlus1.SetFocus;
  221. end;
  222.  
  223. procedure TAppMainForm.Button2Click(Sender: TObject);
  224. begin
  225.   ColorDialog1.Color := Shape1.Pen.Color;
  226.   If ColorDialog1.Execute then
  227.      SetBorderColor(ColorDialog1.Color);
  228.   DBLookupComboPlus1.SetFocus;
  229. end;
  230.  
  231. procedure TAppMainForm.Button3Click(Sender: TObject);
  232. begin
  233.   ColorDialog1.Color := DBLookupComboPlus1.Color;
  234.   If ColorDialog1.Execute then
  235.      SetFieldColor(ColorDialog1.Color);
  236.   DBLookupComboPlus1.SetFocus;
  237. end;
  238.  
  239.  
  240. procedure TAppMainForm.RadioGroupPreSetsClick(Sender: TObject);
  241. begin
  242.   case  RadioGroupPreSets.ItemIndex of
  243.     0 : begin  {Borland}
  244.           DBLookupComboPlus1.AutoDropDown := False;
  245.             RadioGroupAutoDropDown.ItemIndex := 1;
  246.           DBLookupComboPlus1.ShowSpeedButton := True;
  247.             RadioGroupSpeedButton.ItemIndex := 0;
  248.           DBLookupComboPlus1.BorderStyle := bsSingle;
  249.             RadioGroupBorderStyle.ItemIndex := 1;
  250.           DBLookupComboPlus1.Style := csDropDown;
  251.             RadioGroupStyle.ItemIndex := 0;
  252.           SetCheckColor(clSilver);
  253.           SetBorderColor(clBlack);
  254.           SetFieldColor(clWindow);
  255.         end;
  256.     1 : Begin  {Quicken}
  257.           DBLookupComboPlus1.AutoDropDown := True;
  258.             RadioGroupAutoDropDown.ItemIndex := 0;
  259.           DBLookupComboPlus1.ShowSpeedButton := True;
  260.             RadioGroupSpeedButton.ItemIndex := 0;
  261.           DBLookupComboPlus1.BorderStyle := bsNone;
  262.             RadioGroupBorderStyle.ItemIndex := 0;
  263.           DBL